<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        let a = {url:'aaa.com'}
        Object.prototype.web = 'baidu.com';
        let b = {name:'admin'}
        // in不仅检测当前对象 还检测它的原型链
        // 检测name属性是否在b对象中
        console.log('name' in b);// true
        console.log('web' in b);// true

        // hasOwnProperty只检测当前对象 不会上升到原型链上
        console.log(a.hasOwnProperty('url')) // url
        console.log(a.hasOwnProperty('web')) // false

        let haha = {
            data:[1,5,36,7,8,4,58]
        }
        // 使用call或apply借用其他对象的方法 call传值使用的是数组 aplly传的就是值
        // 求最大值
        console.log(Math.max.call(null,...haha.data)); // 58
        let hehe = {
            lessons:{js:25,css:12,html:80,node:99}
        }
        
        console.log(Math.max.apply(null,Object.values(hehe.lessons)));// 99
    </script>
</body>
</html>